﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ED_Nivelacion.Negocios;

namespace ED_Nivelacion.PresentacionWeb
{
    public partial class Asignaciones : System.Web.UI.Page
    {
        Coordinador_C _objCoordinador_C = new Coordinador_C();
        Jornada_C _objJornada_C = new Jornada_C();
        DistribucionAcademica_C _objDAcademica_C = new DistribucionAcademica_C();
        DistribucionCoordinacion _objDCoordinador = new DistribucionCoordinacion();
        DistribucionCoordinacion_C _objDCoordinador_C = new DistribucionCoordinacion_C();
        DistribucionJornada _objDJornada = new DistribucionJornada();
        DistribucionJornada_C _objDJornada_C = new DistribucionJornada_C();
        Carrera_C _objCarrera_C = new Carrera_C();
        ED_Nivelacion.Negocios.Tutor _objTutor = new ED_Nivelacion.Negocios.Tutor();
        Tutor_C _objTutor_C = new Tutor_C();
        Periodo_C _objPeriodo = new Periodo_C();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["tipoUsuario"] != null)
            {
                if (Session["tipoUsuario"].ToString() != "Administrador")
                {
                    if (Session["tipoUsuario"].ToString() == "Docente")
                    {
                        Response.Redirect("frm_InicioDocente.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Coordinador")
                    {
                        Response.Redirect("frm_InicioCoordinador.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Estudiante")
                    {
                        Response.Redirect("frm_InicioEstudiante.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Tutor")
                    {
                        Response.Redirect("frm_InicioTutor.aspx");
                    }
                }
            }
            else
            {
                Response.Redirect("frm_Login.aspx");
            }

            if (!Page.IsPostBack)
            {
                Cbm_Coordinador.DataSource = _objCoordinador_C.ObtenerCoordinadorCombo();
                Cbm_Coordinador.DataValueField = "idCoordinador";
                Cbm_Coordinador.DataTextField = "Nombres";
                Cbm_Coordinador.DataBind();

                cbm_Jornada.DataSource = _objJornada_C.ObtenerJornada();
                cbm_Jornada.DataValueField = "idJornada";
                cbm_Jornada.DataTextField = "JornadaNombre";
                cbm_Jornada.DataBind();

                Cbm_Docente.DataSource = _objTutor_C.ObtenerTutorCombo();
                Cbm_Docente.DataValueField = "idTutor";
                Cbm_Docente.DataTextField = "Nombres";
                Cbm_Docente.DataBind();


            }


        }

        protected void Btn_Guardar_Coordinador_Click(object sender, EventArgs e)
        {
            if (Cbm_Coordinador.SelectedItem.Value == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('Debe seleccionar una opcion!');", true);
                Timer1.Enabled = true;
            }
            else
            {
                Guardar_Coordinacion();
            }
        }

        void Guardar_Coordinacion()
        {
            var Coordinador = Cbm_Coordinador.SelectedValue;
            var periodo = _objPeriodo.ObtenerPeriodo().Last().idPeriodo;
            foreach (var item in _objCarrera_C.ObtenerCarrera())
            {
                var Carrera = item.idCarrera;
                _objDCoordinador.idCarrera = Carrera;
                _objDCoordinador.idCoordinador = int.Parse(Coordinador);
                _objDCoordinador.idPeriodo = periodo;

                var msn = _objDCoordinador_C.AgregarCoordinacion(_objDCoordinador);

                        if (msn == "OK")
                        {
                            //Response.Write("<script>sucessMessage(" + msn + ");</script>");
                            ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Coordinador Asignado Correctamente!');", true);
                            Timer1.Enabled = true;
                        }
                        else
                        {
                            ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msn + "');", true);
                            Timer1.Enabled = true;
                        }

            }
        }

        void Guardar_Tutor()
        {
            var _idTutor = Cbm_Docente.SelectedValue;
            var Jornada = cbm_Jornada.SelectedValue;
            var periodo = _objPeriodo.ObtenerPeriodo().Last().idPeriodo;

                _objDJornada.idTutor = int.Parse(_idTutor);
                _objDJornada.idJornada = int.Parse(Jornada);
                _objDJornada.idPeriodo = periodo;
                var msn = _objDJornada_C.AgregarDJornada(_objDJornada);
                if (msn == "OK")
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Tutor Asignado Correctamente!');", true);
                    Timer1.Enabled = true;
                }
                else
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msn + "');", true);
                    Timer1.Enabled = true;
                }
            

        }

        protected void btn_Tutor_Click(object sender, EventArgs e)
        {
            if (Cbm_Docente.SelectedItem.Value == "" || cbm_Jornada.SelectedItem.Value == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('Todos los campos son obligatorios');", true);
                Timer1.Enabled = true;
            }
            else {
                Guardar_Tutor();
            }
            
        }

        protected void Delete_Click(object sender, EventArgs e) 
        {
            if (idEliminar.Text != "")
            {
                eliminar_coor();
            }
            else if (idEliminarT.Text != "")
            {
                eliminar_tutor();
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('No se identifico el registro');", true);
                Timer1.Enabled = true;
            }
 
        }

        void eliminar_tutor()
        {
            var tutor = idEliminarT.Text;
            var coor = idEliminar.Text;

                var msm = _objDJornada_C.EliminarDJornada(int.Parse(tutor));

                if (msm == "OK")
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Tutor Quitado Correctamente');", true);
                    Timer1.Enabled = true;
                }else{
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('"+msm+"');", true);
                    Timer1.Enabled = true;
                }
            }

            void eliminar_coor()
            {
            var coor = idEliminar.Text;
                var msn ="ERROR";
                 foreach (var item in _objDCoordinador_C.FiltrarCoordinacion(int.Parse(coor), int.Parse(Session["PeriodoC"].ToString())))
                 {
                      var msm = _objDCoordinador_C.EliminarCoordinacion(item.idDistribucion_Coordinador);
                        msn= msm;
                 }

               

                if (msn == "OK")
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Tutor Quitado Correctamente');", true);
                    Timer1.Enabled = true;
                }else{
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('"+msn+"');", true);
                    Timer1.Enabled = true;
                }
            }
        }

    }
